home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML ConsoleMax.sea / XML ConsoleMax / Required / ldapjdk.jar / netscape / ldap / controls / LDAPVirtualListResponse.class (.txt) < prev   
Encoding:
Java Class File  |  1999-04-13  |  1.8 KB  |  76 lines

  1. package netscape.ldap.controls;
  2.  
  3. import java.io.ByteArrayInputStream;
  4. import netscape.ldap.LDAPControl;
  5. import netscape.ldap.ber.stream.BERConstruct;
  6. import netscape.ldap.ber.stream.BERElement;
  7. import netscape.ldap.ber.stream.BEREnumerated;
  8. import netscape.ldap.ber.stream.BERInteger;
  9. import netscape.ldap.ber.stream.BERIntegral;
  10. import netscape.ldap.ber.stream.BERSequence;
  11. import netscape.ldap.client.JDAPBERTagDecoder;
  12.  
  13. public class LDAPVirtualListResponse extends LDAPControl {
  14.    public static final String VIRTUALLISTRESPONSE = "2.16.840.1.113730.3.4.10";
  15.    private int m_firstPosition;
  16.    private int m_contentCount;
  17.    private int m_resultCode = -1;
  18.  
  19.    LDAPVirtualListResponse() {
  20.       super("2.16.840.1.113730.3.4.10", true, (byte[])null);
  21.    }
  22.  
  23.    public LDAPVirtualListResponse(byte[] var1) {
  24.       super("2.16.840.1.113730.3.4.10", true, (byte[])null);
  25.       super.m_value = var1;
  26.       this.parseResponse();
  27.    }
  28.  
  29.    public int getContentCount() {
  30.       return this.m_contentCount;
  31.    }
  32.  
  33.    public int getFirstPosition() {
  34.       return this.m_firstPosition;
  35.    }
  36.  
  37.    public int getResultCode() {
  38.       return this.m_resultCode;
  39.    }
  40.  
  41.    private void parseResponse() {
  42.       ByteArrayInputStream var1 = new ByteArrayInputStream(((LDAPControl)this).getValue());
  43.       new BERSequence();
  44.       JDAPBERTagDecoder var2 = new JDAPBERTagDecoder();
  45.       int[] var3 = new int[]{0};
  46.  
  47.       try {
  48.          BERSequence var4 = (BERSequence)BERElement.getElement(var2, var1, var3);
  49.          this.m_firstPosition = ((BERInteger)((BERConstruct)var4).elementAt(0)).getValue();
  50.          this.m_contentCount = ((BERInteger)((BERConstruct)var4).elementAt(1)).getValue();
  51.          BEREnumerated var5 = (BEREnumerated)((BERConstruct)var4).elementAt(2);
  52.          this.m_resultCode = ((BERIntegral)var5).getValue();
  53.       } catch (Throwable var6) {
  54.          this.m_firstPosition = this.m_contentCount = this.m_resultCode = -1;
  55.       }
  56.    }
  57.  
  58.    public static LDAPVirtualListResponse parseResponse(LDAPControl[] var0) {
  59.       LDAPVirtualListResponse var1 = null;
  60.  
  61.       for(int var2 = 0; var0 != null && var2 < var0.length; ++var2) {
  62.          if (var0[var2].getID().equals("2.16.840.1.113730.3.4.10")) {
  63.             var1 = new LDAPVirtualListResponse(var0[var2].getValue());
  64.             var1.parseResponse();
  65.             break;
  66.          }
  67.       }
  68.  
  69.       if (var1 != null) {
  70.          var1.parseResponse();
  71.       }
  72.  
  73.       return var1;
  74.    }
  75. }
  76.